package Controladores;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Vector;

import Modelos.Categoria;
import Modelos.CategoriaDAO;
import Modelos.IngredienteProductoDAO;
import Modelos.IngredientesDAO;
import Modelos.Producto;
import Modelos.ProductoDAO;
import Vistas.FrmProducto;

public class ControladorFrmProducto implements ActionListener{
	private FrmProducto MyFrm;
	
	
	public FrmProducto CreateFormulario(){
		FrmProducto frm = new FrmProducto();
		frm.setVisible(true);
		frm.addListener(this);
		frm.setLocationRelativeTo(null);
		return frm;
	}
	

	public ControladorFrmProducto() {
		super();
		// TODO Auto-generated constructor stub
		MyFrm=CreateFormulario();
		MyFrm.AgregarComboIngrediente(new IngredientesDAO().consultaringrediente());
		MyFrm.AgregarComboCategoria(new CategoriaDAO().consultarCategoria());
		MyFrm.AgregarCodigoProducto(new ProductoDAO().ConsultarProductos().size()+1);
		
	}
	
	public ProductoDAO CreateProductoDAO(){
		return new ProductoDAO();
	}
	
	public IngredienteProductoDAO CreateDetalleDAO(){
		return new IngredienteProductoDAO();
	}

	@Override
	public void actionPerformed(ActionEvent e) {
		// TODO Auto-generated method stub
		String actionCommand = e.getActionCommand();
		if (actionCommand.equals("Agregar")){
			if(MyFrm.Validar()){
				MyFrm.AgregarFila();
			}
		}
		else
			if (actionCommand.equals("Eliminar")){
				MyFrm.RemoverFila();
			}
			else
				if (actionCommand.equals("Guardar")){
					//almacenando caracteristicas del producto
					CreateProductoDAO().RegistrarProducto(MyFrm.getProducto());
					//almacenando detalle producto
					int i;
					for(i=0;i<MyFrm.getDetalle().size();i++){
						CreateDetalleDAO().Registrar(MyFrm.getDetalle().elementAt(i));
					}
					MyFrm.MensajeExito();
				}
				
	}

}
